WRITELN ('UNEQUAL COLUMN BY ROW DATA MERGE FROM N COLUMN DATA');
WRITE ('DO YOU WANT A PRINTOUT (Y/N)');
READLN (SWITCH3);
IF SWITCH3='Y' THEN SWITCH4:=1;
IF SWITCH3='y' THEN SWITCH4:=1;
IF SWITCH4=1 THEN BEGIN
WRITELN (LST,'UNEQUAL COLUMN BY ROW DATA MERGE FROM N COLUMN DATA');
END;
WRITE ('NAME OF FINAL FILE: ');
READLN (FILENAMX);
ASSIGN (XFILE,FILENAMX);èREWRITE (XFILE);
X:=4;
WRITELN (XFILE,X); {LEVEL}
WRITE ('NUMBER OF COLUMNS TO MERGE = ');
READLN (NUMCOL);
X:=NUMCOL;
WRITELN (XFILE,X); {COL}
FOR I:=1 TO NUMCOL DO
BEGIN
WRITE ('NAME OF FILE ',I,' TO MERGE: ');
READLN (FILENAME[I]);
ASSIGN (F[I],FILENAME[I]);
RESET (F[I]);
END;
FOR I:=1 TO NUMCOL DO {LEVEL}
BEGIN
READLN (F[I],X); {LEVEL}
READLN (F[I],X); {N OF OLD COL NEW ROW}
END;
NUMROW:=ROUND(X);
WRITELN (XFILE,X); {ROWS};
èFOR I:=1 TO NUMCOL DO {NUM OF COL}
FOR J:=1 TO NUMROW DO {NUM OF NUM}
BEGIN
READLN (F[I],X);
WRITELN (XFILE,X); {NUMCELLS}
NUMCELL[I,J]:=ROUND(X);
END;
FOR I:=1 TO NUMCOL DO
FOR J:=1 TO NUMROW DO
BEGIN
FOR K:=1 TO NUMCELL[I,J] DO
BEGIN
READLN (F[I],X);
WRITELN (XFILE,X);
END;
END;
FOR I:=1 TO NUMCOL DO
BEGIN
CLOSE (F[I]);
END;
CLOSE (XFILE);
END;
PROCEDURE UNOUT;èVAR F:ARRAY[1..11] OF TEXT;
FILENAME:ARRAY[1..11] OF STRING[12];
XFILE:TEXT;
FILENAMX:STRING[12];
X:REAL;
NUMROW,K,SWITCH4,I,NUMCOL,J:INTEGER;
SWITCH3:CHAR;
NUMCELL:ARRAY[1..12,1..12] OF INTEGER;
BEGIN
WRITELN ('UNEQUAL COLUMN BY ROW DATA OUTPUT');
WRITE ('DO YOU WANT A PRINTOUT (Y/N)');
READLN (SWITCH3);
IF SWITCH3='Y' THEN SWITCH4:=1;
IF SWITCH3='y' THEN SWITCH4:=1;
IF SWITCH4=1 THEN BEGIN
WRITELN (LST,'UNEQUAL COLUMN BY ROW DATA OUTPUT');
END;
WRITE ('NAME OF FILE: ');
READLN (FILENAMX);
ASSIGN (XFILE,FILENAMX);
RESET (XFILE);
READLN (XFILE,X); {LEVEL}
READLN (XFILE,X); {COL}
NUMCOL:=ROUND(X);èWRITELN ('NUMBER OF COLUMNS = ',NUMCOL);
IF SWITCH4=1 THEN BEGIN
WRITELN (LST,'NUMBER OF COLUMNS = ',NUMCOL);
END;
READLN (XFILE,X); {ROWS};
NUMROW:=ROUND(X);
WRITELN ('NUMBER OF ROWS = ',NUMROW);
IF SWITCH4=1 THEN BEGIN
WRITELN (LST,'NUMBER OF ROWS = ',NUMROW);
END;
FOR I:=1 TO NUMCOL DO {NUM OF COL}
FOR J:=1 TO NUMROW DO {NUM OF NUM}
BEGIN
READLN (XFILE,X); {NUMCELLS}
NUMCELL[I,J]:=ROUND(X);
END;
FOR I:=1 TO NUMCOL DO
BEGIN
WRITE ('COLUMN ',I);
IF SWITCH4=1 THEN BEGIN
WRITE (LST,'COLUMN ',I);
END;
FOR J:=1 TO NUMROW DO
BEGINèWRITELN ('ROW ',J);
IF SWITCH4=1 THEN BEGIN
WRITELN (LST,'ROW ',J);
END;
FOR K:=1 TO NUMCELL[I,J] DO
BEGIN
READLN (XFILE,X);
WRITELN ('ITEM ',K,' = ',X:8:3);
IF SWITCH4=1 THEN BEGIN
WRITELN (LST,'ITEM ',K,' = ',X:8:3);
END;
END;
END;
END;
CLOSE (XFILE);
END;
BEGIN
WRITELN ('IN THE UNUSUAL CASE OF UNEQUAL CELL SIZE TWO WAY ANALYSIS OF VARIANCE,');
WRITELN ('THE DATA MUST BE HANDLED IN A SPECIAL WAY. EACH COLUMN SHOULD BE ENTERED');
WRITELN ('WITH THE DATA-COL PROGRAM WITH EACH COLUMN OF DIFFERENT SIZE REPRESENTING');
WRITELN ('THE UNEQUAL CELLS OF THE FONAL DATA. THUS A FILE OF N COLUMNS IS ACTUALLY');
WRITELN ('ONE COLUMN OF THE FINAL DATA. EACH FILE IS A ROW OF THE FINAL DATA.');
WRITELN ('OPTION #10 IN THIS PROGRAM WILL MERGE THE INDIVIDUAL ROWS INTO A SINGLE');èWRITELN ('ROW BY COLUMN BY UNEQUAL N DATA SET, WHICH IS THE CORRECT FORM');
WRITELN ('FOR USE IN THIS STATISTICAL PROGRAM. ALL ADDITIONS, CORRECTIONS');
WRITELN ('DELETIONS AND COMBINATIONS SHOULD BE DONE WITH THE DATA-COL PROGRAM');
WRITELN ('ON EACH COLUMN INDIVIDUALLY. OPTION #11 OF THIS PROGRAM ALLOWS');
WRITELN ('OUTPUT OF THIS FORM OF DATA FOR CHECKING IT.');
WRITELN;
WRITELN ('WARNING!');
WRITELN (' DO NOT GIVE THE FILE THE NAME OF A FILE THAT ALREADY EXISTS');
WRITELN (' ON THE DISK OR THE OLD FILE WILL BE ERASED.');
WRITELN;
WRITELN ('ENTER A CARRIAGE RETURN TO CONTINUE');
READLN (C);
REPEAT;
WRITELN ('1. MERGING COLUMNS INTO 2 WAY UNEQUAL N ANOVA DATA--ENTER A 1');
WRITELN ('2. OUTPUT OF 2 WAY UNEQUAL N ANOVA DATA--ENTER AN 2.');
WRITE ('CHOICE: ');
READLN (CHOICE);
CASE CHOICE OF
1:UNMER;
2:UNOUT;
END;
WRITE ('DO YOU WANT ANOTHER RUN, (Y/N): ');
READLN (C);
WHILE NOT (C IN ['Y','y','n','N']) DO
BEGIN
WRITE ('TYPE Y FOR YES, OR N FOR NO: ');èREADLN (C);